To identify predetermined locations on a storage medium (e.g., a video tape), an operator of conventional recording devices, such as a video cassette recorder (VCR), can record indexes on video tapes. This allows the operator to fast-forward to a particular location on the tape. Conventional VCR's also allow viewing the tape during the fast-forward search to that indexed location.
Conventional fast-forward search devices, such as currently available VCR's, have a constant or user controllable fast-forward search speed. A constant fast-forward search speed is not adequate for viewing recorded video with both static and dynamic scenes ("static and dynamic" scenes are defined below). Similarly, a manually adjustable speed is not an efficient alternative.
A full motion video sequence usually contains both static and dynamic pictures (herein, the term "picture" means either frame or field). Static scenes have little changes between successive pictures. That is, there is a significant amount of picture-to-picture redundancy. For dynamic scenes, the variations between successive pictures is relatively large.
Changes between successive pictures may be measured by motion vectors and non-zero estimation errors. Motion vectors may be used in block matching motion compensation algorithms to remove inter-picture redundancy, for example, in order to achieve a high data compression. Motion may be estimated globally over a whole picture or locally over blocks, e.g., 8.times.8 two-dimensional arrays of pixels, into which the picture is divided. The best matching position between successive pictures (or blocks) may be determined by minimizing an error function such as is shown in equation (1), ##EQU1## where the a(i,j)'s are pixel values of the current picture (or block), the b(i+m.sub.i, j+m.sub.j) are the pixel values of the previous picture (or block), i is a vertical coordinate index, j is a horizontal coordinate index, and m.sub.i, m.sub.j represent a displacement vector D=m.sub.i,m.sub.j. The power factor q usually equals 1 or 2.
The displacement vector (i.e., values of m.sub.i, m.sub.j) which minimizes the error function E is called the motion vector. The motion vector represents the minimum shift from the zero displacement vector. For example, for identical pictures, the global motion vector is zero. That is, the successive picture is not shifted from the zero displacement vector of the previous picture. Similarly, for identical successive blocks, the motion vector associated with the particular block is zero.
Static scenes are said to have a relatively low information value because they have relatively little variation (i.e., higher correlation) between successive pictures. Therefore, static scenes have smaller motion vectors or smaller non-zero estimation errors. For static scenes with relatively low motion or variation, estimation of the next scene is relatively accurate. Thus, static scenes have smaller non-zero estimation errors. Of course, for perfectly still scenes, the motion vectors and the estimation errors are zero indicating the next scene is correctly estimated and is identical to the previous scene.
Conversely, dynamic scenes with relatively high variation between scenes (i.e., lower inter-picture correlation) are said to have a higher information value and have larger motion vectors. Estimation of the next scene is usually prone to errors due to the varying scenes.
At a constant fast-forward (or fast-backward) search speed, relatively static scenes, with little variation (i.e., higher correlation) between successive pictures, will appear to be searched at an unreasonably slow speed. Such a search will not appear to be a fast-forward (or fast-backward) search to a viewer. For relatively static scenes, it is desirable to fast-forward search at higher speeds. By contrast, for relatively dynamic scenes, with higher variation (i.e., lower correlation) between successive pictures, the fast-forward search speed will be too fast to be visually recognizable. A slower fast-forward search is desirable for proper viewing. Therefore, a constant search speed cannot properly match the rate of changes in the scenes.
The fast-forward search speed may be manually adjusted. For example, the search speed is decreased for dynamic images, where the user subjectively determines that temporal correlation between successive pictures is low. Conversely, the search speed is increased for static images, where the user subjectively determines that temporal correlation between successive pictures is high.
The manual fast-forward search speed adjustment is not a user friendly technique and requires continuous manual adjustment. In particular, there is a reaction delay between the evaluation of the inter-picture correlation by the user and the manual adjustment of the fast-forward speed. Furthermore, this method is subject to human error which typically occurs when the search speed is fast and a short dynamic scene is scanned which is not detected and therefore overlooked by the user. It is therefore an object of the present invention to overcome the disadvantages of the prior art by automatically varying the fast-forward (or fast-backward) search speed based on the information value of the pictures.